﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Brain;
namespace AvaProvi
{
    public partial class ctlResumenValores : AvaProvi.ControlBase
    {
        VSimbolo vs;
        //Validadora val;
        public ctlResumenValores()
            : base()
        {
            InitializeComponent();
            ActualizaPanel();
        }

        public override void ActualizaDatos()
        {
            clsAvaluo_CRN.AvaluoActual.Guardar();
            this.ActualizaPanel();
        }

        public override void ActualizaPanel()
        {
            this.bsEnfoqueDeMercado.DataSource = clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado;
            this.bsEnfoqueDeMercado.ResetBindings(false);
            this.bsTerreno.DataSource = clsAvaluo_CRN.AvaluoActual.Inmueble.Terreno;
            this.bsTerreno.ResetBindings(false);
            this.bsRentas.DataSource = clsAvaluo_CRN.AvaluoActual.Inmueble.Terreno.AnalisisCapRentas;
            this.bsRentas.ResetBindings(false);

            /*Si los factores de ajustes del enfoque de mercado ventas y análisis
             * físico es diferente a 1 entonces se muestra el valor*/
            this.MostrarFactores();
            this.AsignarValorSeleccionado();
            
        }

        private void MostrarFactores()
        {
            this.txtFactorAjusteFisico.Visible = (clsAvaluo_CRN.AvaluoActual.Inmueble.Terreno.FactorAjuste != 1);
            this.txtFactorAjusteVentas.Visible = (clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado.FactorDeAjuste != 1);
        }

        private void AsignarValorSeleccionado()
        {
            //if (clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado.EsNuevo)
            //{
                if (clsAvaluo_CRN.AvaluoActual.Inmueble.Terreno.FactorAjuste != 1)
                    clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado.ValorSeleccionado = 2;
                else
                    this.txtFactorAjusteFisico.Visible = false;

                if (clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado.FactorDeAjuste != 1)
                    clsAvaluo_CRN.AvaluoActual.Inmueble.EnfoqueDeMercado.ValorSeleccionado = 1;
                else
                    this.txtFactorAjusteVentas.Visible = false;
            //}
        }

        private void txtValorComparativo_KeyPress(object sender, KeyPressEventArgs e)
        {
            vs = new VSimbolo();
            e.Handled = vs.esDecimal(e.KeyChar, (txtValorComparativo.Text).Trim());
        }

        private void txtValorFisico_KeyPress(object sender, KeyPressEventArgs e)
        {
            vs = new VSimbolo();
            e.Handled = vs.esDecimal(e.KeyChar, (txtValorFisico.Text).Trim());
        }

        private void txtValorDeCapitalizacion_KeyPress(object sender, KeyPressEventArgs e)
        {
            vs = new VSimbolo();
            e.Handled = vs.esDecimal(e.KeyChar, (txtValorDeCapitalizacion.Text).Trim());
        }

        private void txtValorResidual_KeyPress(object sender, KeyPressEventArgs e)
        {
            vs = new VSimbolo();
            e.Handled = vs.esDecimal(e.KeyChar, (txtValorResidual.Text).Trim());
        }

        private void txtValorConcluido_KeyPress(object sender, KeyPressEventArgs e)
        {
            vs = new VSimbolo();
            e.Handled = vs.esDecimal(e.KeyChar, (txtValorConcluido.Text).Trim());
        }
       
    }
}
